iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1
自我挑戰組

Go語言自學挑戰系列 第 5

第五天:Slice介紹

  • 分享至 

  • xImage
  •  

什麼是Slice?

Slice是Golang的另一種資料結構,

與矩陣有些相似,它建構在矩陣之上,

更為靈活與便利、不需要指定大小,

它由

接著來套討slice如何使用吧~

/images/emoticon/emoticon08.gif

開始宣告Slice吧~~

slice的宣告方式如下:

//宣告方式:
slice名稱 := []資料類型{值}
範例:
myslice := []int{1,2,3}

他還有其他三種宣告方式,本文先針對第一種方式進行探討。

操作與修改Slice的方法

接著將介紹如何操作與修改的方法。

取得Slice元素的值

取得元素值的方式與Array相同,

程式範例如下:

package main

import ("fmt")

func main() {

  nums := []int{1,2,3}
  
  fmt.Println("nums[2] = ",nums[2])
}

輸出結果如下:

nums[2] =  3

修改Slices元素的值

修改元素值的方式與Array相同,

程式範例如下:

package main

import ("fmt")

func main() {

  nums := []int{1,2,3}
  
  fmt.Println("修改前nums[2] = ",nums[2])
  
  nums[2] = 5 //將index 2的值修改成5
  
  fmt.Println("修改後nums[2] = ",nums[2])
  
}

輸出結果如下:

修改前nums[2] =  3
修改後nums[2] =  5

與Array不同,Slice可以增加元素!?

增加元素的方法為使用append()函數,共有兩種方式,

  1. 增加元素至Slice:
package main

import ("fmt")

func main() {

  nums := []int{1, 2, 3, 4, 5, 6}
  
  fmt.Println("新增前 = ", nums)

  nums = append(nums, 7, 8)
  
  fmt.Println("新增後 = ", nums)
}

輸出結果如下:

新增前 =  [1 2 3 4 5 6]
新增後 =  [1 2 3 4 5 6 7 8]
  1. 將slice加入另一個slice之中
package main

import ("fmt")

func main() {

  nums1 := []int{1, 2, 3, 4, 5, 6}
  
  nums2 := []int{7, 8, 9}

  nums3 := append(nums1, nums2...)
  
  fmt.Println("新增後 = ", nums3)
  
}

輸出結果如下:

新增後 =  [1 2 3 4 5 6 7 8 9]

參考資料

  1. https://www.w3schools.com/go/go_slices.php

上一篇
第四天:陣列Array介紹
下一篇
第六天:Golang的運算符Operator介紹
系列文
Go語言自學挑戰29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言